package org.ala.shopping_test.shopping_center.repository.order_seller.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;


/**
 *	Entity (shopping_order_seller)
 *  订单总表
 *
 *	@author 骆毅 (ala)
 *	@date 2025-03-24 15:41:30
 */
@ApiModel("shopping_order_seller")
public class ShoppingOrderSellerDO implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    /**
     *  订单id
     */
    @ApiModelProperty("订单id")
    protected Long id;
    /**
     *  订单总id
     */
    @ApiModelProperty("订单总id")
    protected Long orderId;
    /**
     *  买家订单id
     */
    @ApiModelProperty("买家订单id")
    protected Long buyerOrderId;
    /**
     *  订单编码 [YYYYMMdd-Type]
     */
    @ApiModelProperty("订单编码 [YYYYMMdd-Type]")
    protected String code;
    /**
     *  买家id
     */
    @ApiModelProperty("买家id")
    protected Long buyerId;
    /**
     *  买家名称
     */
    @ApiModelProperty("买家名称")
    protected String buyerName;
    /**
     *  卖家名称
     */
    @ApiModelProperty("卖家名称")
    protected String sellerName;
    /**
     *  卖家id
     */
    @ApiModelProperty("卖家id")
    protected Long sellerId;
    /**
     *  订单总金额（含优惠）
     */
    @ApiModelProperty("订单总金额（含优惠）")
    protected java.math.BigDecimal orderAmount;
    /**
     *  订单总税额
     */
    @ApiModelProperty("订单总税额")
    protected java.math.BigDecimal orderTax;
    /**
     *  订单总优惠金额
     */
    @ApiModelProperty("订单总优惠金额")
    protected java.math.BigDecimal orderDiscountAmount;
    /**
     *  订单总利润金额
     */
    @ApiModelProperty("订单总利润金额")
    protected java.math.BigDecimal orderProfit;
    /**
     *  订单金额明细
     */
    @ApiModelProperty("订单金额明细")
    protected String orderAmountDetail;
    /**
     *  订单状态 0：待审核 1：已审核打单配货 2：已配货待发货 3：已发货 4：已到货 5：完成
     */
    @ApiModelProperty("订单状态 0：待审核 1：已审核打单配货 2：已配货待发货 3：已发货 4：已到货 5：完成")
    protected Integer status;
    /**
     *  是否异常 0：否 1：是
     */
    @ApiModelProperty("是否异常 0：否 1：是")
    protected Integer abnormal;
    /**
     *  订单备注
     */
    @ApiModelProperty("订单备注")
    protected String remark;
    /**
     *  记录创建时间
     */
    @ApiModelProperty("记录创建时间")
    protected Long createTime;
    /**
     *  记录最后修改时间
     */
    @ApiModelProperty("记录最后修改时间")
    protected Long modifyTime;


    public static ShoppingOrderSellerDO build() {return new ShoppingOrderSellerDO();}


    public Long getId() {return id;}
    public void setId(Long id) { this.id = id; }
    public ShoppingOrderSellerDO id(Long id) { this.id = id; return this; }

    public Long getOrderId() {return orderId;}
    public void setOrderId(Long orderId) { this.orderId = orderId; }
    public ShoppingOrderSellerDO orderId(Long orderId) { this.orderId = orderId; return this; }

    public Long getBuyerOrderId() {return buyerOrderId;}
    public void setBuyerOrderId(Long buyerOrderId) { this.buyerOrderId = buyerOrderId; }
    public ShoppingOrderSellerDO buyerOrderId(Long buyerOrderId) { this.buyerOrderId = buyerOrderId; return this; }

    public String getCode() {return code;}
    public void setCode(String code) { this.code = code; }
    public ShoppingOrderSellerDO code(String code) { this.code = code; return this; }

    public Long getBuyerId() {return buyerId;}
    public void setBuyerId(Long buyerId) { this.buyerId = buyerId; }
    public ShoppingOrderSellerDO buyerId(Long buyerId) { this.buyerId = buyerId; return this; }

    public String getBuyerName() {return buyerName;}
    public void setBuyerName(String buyerName) { this.buyerName = buyerName; }
    public ShoppingOrderSellerDO buyerName(String buyerName) { this.buyerName = buyerName; return this; }

    public String getSellerName() {return sellerName;}
    public void setSellerName(String sellerName) { this.sellerName = sellerName; }
    public ShoppingOrderSellerDO sellerName(String sellerName) { this.sellerName = sellerName; return this; }

    public Long getSellerId() {return sellerId;}
    public void setSellerId(Long sellerId) { this.sellerId = sellerId; }
    public ShoppingOrderSellerDO sellerId(Long sellerId) { this.sellerId = sellerId; return this; }

    public java.math.BigDecimal getOrderAmount() {return orderAmount;}
    public void setOrderAmount(java.math.BigDecimal orderAmount) { this.orderAmount = orderAmount; }
    public ShoppingOrderSellerDO orderAmount(java.math.BigDecimal orderAmount) { this.orderAmount = orderAmount; return this; }

    public java.math.BigDecimal getOrderTax() {return orderTax;}
    public void setOrderTax(java.math.BigDecimal orderTax) { this.orderTax = orderTax; }
    public ShoppingOrderSellerDO orderTax(java.math.BigDecimal orderTax) { this.orderTax = orderTax; return this; }

    public java.math.BigDecimal getOrderDiscountAmount() {return orderDiscountAmount;}
    public void setOrderDiscountAmount(java.math.BigDecimal orderDiscountAmount) { this.orderDiscountAmount = orderDiscountAmount; }
    public ShoppingOrderSellerDO orderDiscountAmount(java.math.BigDecimal orderDiscountAmount) { this.orderDiscountAmount = orderDiscountAmount; return this; }

    public java.math.BigDecimal getOrderProfit() {return orderProfit;}
    public void setOrderProfit(java.math.BigDecimal orderProfit) { this.orderProfit = orderProfit; }
    public ShoppingOrderSellerDO orderProfit(java.math.BigDecimal orderProfit) { this.orderProfit = orderProfit; return this; }

    public String getOrderAmountDetail() {return orderAmountDetail;}
    public void setOrderAmountDetail(String orderAmountDetail) { this.orderAmountDetail = orderAmountDetail; }
    public ShoppingOrderSellerDO orderAmountDetail(String orderAmountDetail) { this.orderAmountDetail = orderAmountDetail; return this; }

    public Integer getStatus() {return status;}
    public void setStatus(Integer status) { this.status = status; }
    public ShoppingOrderSellerDO status(Integer status) { this.status = status; return this; }

    public Integer getAbnormal() {return abnormal;}
    public void setAbnormal(Integer abnormal) { this.abnormal = abnormal; }
    public ShoppingOrderSellerDO abnormal(Integer abnormal) { this.abnormal = abnormal; return this; }

    public String getRemark() {return remark;}
    public void setRemark(String remark) { this.remark = remark; }
    public ShoppingOrderSellerDO remark(String remark) { this.remark = remark; return this; }

    public Long getCreateTime() {return createTime;}
    public void setCreateTime(Long createTime) { this.createTime = createTime; }
    public ShoppingOrderSellerDO createTime(Long createTime) { this.createTime = createTime; return this; }

    public Long getModifyTime() {return modifyTime;}
    public void setModifyTime(Long modifyTime) { this.modifyTime = modifyTime; }
    public ShoppingOrderSellerDO modifyTime(Long modifyTime) { this.modifyTime = modifyTime; return this; }


    /**
     *  是否为空
     *  <p> 仅仅是每个字段的为空检测。若存在特殊空判，需要自行实现
     */
    public boolean isEmpty() {
        if (this.id != null) {return false;}
        if (this.orderId != null) {return false;}
        if (this.buyerOrderId != null) {return false;}
        if (this.code != null) {return false;}
        if (this.buyerId != null) {return false;}
        if (this.buyerName != null) {return false;}
        if (this.sellerName != null) {return false;}
        if (this.sellerId != null) {return false;}
        if (this.orderAmount != null) {return false;}
        if (this.orderTax != null) {return false;}
        if (this.orderDiscountAmount != null) {return false;}
        if (this.orderProfit != null) {return false;}
        if (this.orderAmountDetail != null) {return false;}
        if (this.status != null) {return false;}
        if (this.abnormal != null) {return false;}
        if (this.remark != null) {return false;}
        if (this.createTime != null) {return false;}
        if (this.modifyTime != null) {return false;}
        return true;
    }
    /**
     *  copy（注：这是浅拷贝）
     */
    public ShoppingOrderSellerDO copy() {
        ShoppingOrderSellerDO copy = new ShoppingOrderSellerDO();
        copy.id = this.id;
        copy.orderId = this.orderId;
        copy.buyerOrderId = this.buyerOrderId;
        copy.code = this.code;
        copy.buyerId = this.buyerId;
        copy.buyerName = this.buyerName;
        copy.sellerName = this.sellerName;
        copy.sellerId = this.sellerId;
        copy.orderAmount = this.orderAmount;
        copy.orderTax = this.orderTax;
        copy.orderDiscountAmount = this.orderDiscountAmount;
        copy.orderProfit = this.orderProfit;
        copy.orderAmountDetail = this.orderAmountDetail;
        copy.status = this.status;
        copy.abnormal = this.abnormal;
        copy.remark = this.remark;
        copy.createTime = this.createTime;
        copy.modifyTime = this.modifyTime;
        return copy;
    }
}
